package sistemioperativi.esami.ristorante;

import java.util.concurrent.Semaphore;

public class PortaPiattiSem extends PortaPiatti{

	private Semaphore possoInserire;
	private Semaphore possoConsumare = new Semaphore(0);
	//private Semaphore mutex = new Semaphore(1);
	
	
	public PortaPiattiSem (int numPiatti){
		super(numPiatti);
		possoInserire = new Semaphore(numPiatti);
		
	}
	
	public void put(int numPiatti) throws InterruptedException {
		possoInserire.acquire(numPiatti);
		//mutex.acquire();
		possoConsumare.release(numPiatti);
	}
	
	public void get() throws InterruptedException {
		possoConsumare.acquire();
		possoInserire.release();
		
	}
}
